Many World Wide Web sites permit users to perform searches to identify a small number of interesting items among a much larger domain of items. As an example, several web index sites permit users to search for particular web sites among most of the known web sites. Similarly, many online merchants, such as booksellers, permit users to search for particular products among all of the products that can be purchased from a merchant. In many cases, users perform searches in order to ultimately find a single item within an entire domain of items.
In order to perform a search, a user submits a query containing one or more query terms. The query also explicitly or implicitly identifies a domain of items to search. For example, a user may submit a query to an online bookseller containing terms that the user believes are words in the title of a book. A query server program processes the query to identify within the domain items matching the terms of the query. The items identified by the query server program are collectively known as a query result. In the example, the query result is a list of books whose titles contain some or all of the query terms. The query result is typically displayed to the user as a list of items. This list may be ordered in various ways. For example, the list may be ordered alphabetically or numerically based on a property of each item, such as the title, author, or release date of each book. As another example, the list may be ordered based on the extent to which each identified item matches the terms of the query.
When the domain for a query contains a large number of items, it is common for query results to contain tens or hundreds of items. Where the user is performing the search in order to find a single item, application of conventional approaches to ordering the query result often fail to place the sought item or items near the top of the query result, so that the user must read through many other items in the query result before reaching the sought item. In view of this disadvantage of conventional approaches to ordering query results, a new, more effective technique for automatically ordering query results in accordance with collective and individual user behavior would have significant utility.
U.S. Pat. No. 6,185,558 describes a two-step approach to identifying items most relevant to a current query based upon items selected in connection with similar earlier queries. In particular, the described approach first (1) uses a query engine in a conventional manner to produce a conventional query result for a query, then (2) uses a separate query result processing component that uses information about items selected in connection with similar earlier queries to filter, sort, and/or augment the conventional query result to identify items most relevant to the query.
While this two-step approach can be quite successful at identifying items most relevant to a query, it can be inefficient in several aspects. First, separate search engine and query result processing programs must typically be implemented and maintained. Also, the operation of these programs must typically be coordinated to permit the result processing program to process results produced by the query engine. Further, operating both programs may require significant processing resources, computer hardware, and/or total elapsed time to produce processed query results.
An alternative approach to identifying items most relevant to a current query based upon items selected in connection with similar earlier queries that was more efficient would therefore have significant utility.